package com.transino.bop.factory;

import java.util.Date;
import java.util.List;
import java.util.Properties;

import com.transino.bop.domain.Catalog;
import com.transino.bop.domain.Category;
import com.transino.bop.domain.Entity;
import com.transino.bop.domain.Property;
import com.transino.bop.domain.PropertyGroup;

public interface EntityFactory {

	public void setCatalog(Catalog catalog);
	public Catalog getCatalog();
	public void registerCategory(Category category);
	public Category getCategory(String cid);
	public void registerEntity(Entity entity);
	public List<Category> listCategories();
	public String getProperty(String key);
	public void setProperties(Properties properties);
	public void setStartDate(Date startDate);
	public Date getStartDate();
	public Entity getEntity(String key);
	public void registerGroup(PropertyGroup group);
	public PropertyGroup getGroup(String key);
	public Property getPropertyById(String pid);
	public void registerProperty(Property property);
	public void modifyValidator(Entity e, Property p);
}
